
package org.abbett.eskine.controller;

import org.abbett.eskine.model.CustomIdentity;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.jboss.seam.annotations.Create;
import org.jboss.seam.annotations.In;


import javax.faces.component.UIComponent;
import javax.faces.component.UIData;
import javax.faces.event.ActionEvent;
import java.util.Map;
import java.util.List;

import org.abbett.eskine.service.ChangePasswordChangePasswordChangePasswordOutcome;
import org.abbett.eskine.service.ChangePasswordService;


/**
 * Glue code to bind Change Password Service with the view framework (Seam). This class contains
 * a default implementation of the action methods. Please avoid reimplmenting the action methods in this class.
 * The purpose of this class is to declare properties which can be bound to the UI.
 * 
  * This page lets the user change his password. Login required.
  *
 * Automatically generated by clickframes
 * 
 * @author Vineet Manohar
 */
public abstract class GeneratedChangePasswordController extends Controller {
 

    
    @In("#{changePasswordPageService}")
	protected ChangePasswordService changePasswordService;

	@SuppressWarnings("unused")
	private static final Log logger = LogFactory.getLog(GeneratedChangePasswordController.class);

	@In
	protected CustomIdentity identity;

    @Create
    public void init() {


        // initialize all file inputs
          // all inputs initialized here 
    }




	/**
	 * This method should be called before the page is loaded
	 * 
	 * All the page parameters should be consumed in this method
	 */
    public void processPageParameters() {


          // if you need to add more code, override this method in the child class 
    }



	/** Current Password
	 *
 	 * Current Password
 	 */
   
	protected String changePasswordCurrentPassword;

  	@org.hibernate.validator.NotNull(message="Please enter your current password.")
  	public String getChangePasswordCurrentPassword() {
	   return this.changePasswordCurrentPassword;
	}

	public void setChangePasswordCurrentPassword(String changePasswordCurrentPassword) {
		this.changePasswordCurrentPassword = changePasswordCurrentPassword;
	}
	/** New Password
	 *
 	 * New Password
 	 */
   
	protected String changePasswordNewPassword;

  	@org.hibernate.validator.NotNull(message="Please enter a new password.")
     	@org.hibernate.validator.Length( min=4,  message="New password must be at least 4 characters.")
 	public String getChangePasswordNewPassword() {
	   return this.changePasswordNewPassword;
	}

	public void setChangePasswordNewPassword(String changePasswordNewPassword) {
		this.changePasswordNewPassword = changePasswordNewPassword;
	}
	/** Repeat New Password
	 *
 	 * Repeat New Password
 	 */
   
	protected String changePasswordRepeatNewPassword;

  	@org.hibernate.validator.NotNull(message="Please repeat your new password.")
  	public String getChangePasswordRepeatNewPassword() {
	   return this.changePasswordRepeatNewPassword;
	}

	public void setChangePasswordRepeatNewPassword(String changePasswordRepeatNewPassword) {
		this.changePasswordRepeatNewPassword = changePasswordRepeatNewPassword;
	}



  
    /**
     *  Converts any form inputs bound to entities to entities, stores them in the map ready to 
     *  be passed to the service methods
     */
    public Map<String, Object> changePasswordForm() {
        Map<String, Object> map = describe();
        return map;
    }

 
   /**
    * Change Password
    *
    *     * Automatically generated by clickframes
    */
   public abstract ChangePasswordChangePasswordChangePasswordOutcome changePasswordChangePassword();


    protected ChangePasswordService.ChangePasswordChangePasswordResponse changePasswordChangePasswordResponse;

    public ChangePasswordService.ChangePasswordChangePasswordResponse getChangePasswordChangePasswordResponse() {
        return changePasswordChangePasswordResponse;
    }


    private static final long serialVersionUID = 1L;
}// clickframes::version=4279059555::clickframes